<?php
session_start();

// 数据库连接配置
$host = 'localhost';  // 数据库主机
$dbname = 'library';  // 数据库名称
$dbusername = 'root';  // 数据库用户名
$dbpassword = '123456';  // 数据库密码（默认是空）

// 创建数据库连接
try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $dbusername, $dbpassword);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die("连接失败: " . $e->getMessage());
}

// 初始化错误信息
$error_message = '';

// 处理表单提交
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // 获取表单数据
    $input_u_No = $_POST['u_No'];  // 账号
    $input_password = $_POST['password'];  // 密码
    $role = $_POST['role'];  // 用户选择的角色

    if ($role == 'admin') {
        // 如果角色是管理员，查询管理员表
        $sql = "SELECT * FROM Administrator WHERE ad_No = :ad_No";
        $stmt = $pdo->prepare($sql);
        $stmt->bindParam(':ad_No', $input_u_No);
        $stmt->execute();

        // 获取管理员数据
        $admin = $stmt->fetch(PDO::FETCH_ASSOC);

        // 如果管理员存在且密码正确
        if ($admin && $input_password == $admin['a_password']) {
            // 登录成功，设置 session
            $_SESSION['u_No'] = $admin['ad_No'];
            $_SESSION['role'] = 'admin';
            header('Location: home.php');  // 管理员主页
            exit();
        } else {
            // 登录失败，设置错误信息
            $error_message = '管理员用户名或密码错误';
        }
    } elseif ($role == 'reader') {
        // 如果角色是读者，查询读者表
        $sql = "SELECT * FROM users WHERE u_No = :u_No";
        $stmt = $pdo->prepare($sql);
        $stmt->bindParam(':u_No', $input_u_No);
        $stmt->execute();

        // 获取读者数据
        $user = $stmt->fetch(PDO::FETCH_ASSOC);

        // 如果读者存在且密码正确
        if ($user && $input_password == $user['u_password']) {
            // 登录成功，设置 session
            $_SESSION['u_No'] = $user['u_No'];

            // 检查用户是否被冻结
            if ($user['state'] == '冻结') {
                $error_message = '您的账户已被冻结，无法登录！';
            } else {
                $_SESSION['role'] = 'reader';
                header('Location: home.php');  // 读者主页
                exit();
            }
        } else {
            // 登录失败，设置错误信息
            $error_message = '读者用户名或密码错误';
        }
    }
}
?>

<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>图书管理系统 - 登录</title>
    <link rel="stylesheet" href="style.css">
</head>

<body>
    <!-- 页眉 -->
    <header>
        <h1>图书管理系统</h1>
    </header>

    <div class="login-container">
        <h2>图书管理系统 登录</h2>

        <?php if ($error_message): ?>
            <div class="error-message">
                <p><?php echo $error_message; ?></p>
            </div>
        <?php endif; ?>

        <form action="index.php" method="POST" accept-charset="UTF-8">
            <div class="input-group">
                <label for="u_No">用户名:</label>
                <input type="text" id="u_No" name="u_No" required>
            </div>

            <div class="input-group">
                <label for="password">密码:</label>
                <input type="password" id="password" name="password" required>
            </div>


            <label for="role">选择角色:</label>
            <select id="role" name="role" required>
                <option value="admin">管理员</option>
                <option value="reader">读者</option>
            </select>

            <button type="submit">登录</button>
        </form>

        <!-- 添加注册链接 -->
        <div class="register-link">
            <p>没有账户? <a href="http://localhost/Library_management_system/register.php">点击这里注册</a></p>
        </div>
    </div>

    <!-- 页脚 -->
    <footer>
        <p>&copy; 2024 图书管理系统 | 版权所有 HMY,GSM</p>
    </footer>
</body>

</html>